قسمت قبلی

1. مقدمه: چرا انیمیشن و ترنزیشن‌ها در CSS اهمیت دارند؟

در این قسمت از آموزش، به اهمیت و کاربردهای انیمیشن‌ها و ترنزیشن‌ها در CSS پرداخته می‌شود. این ویژگی‌ها برای طراحی زیباتر و تعاملی‌تر صفحات وب استفاده می‌شوند و می‌توانند تجربه کاربری را بهبود بخشند.

📌 فهرست مطالب

2. ویژگی‌های اصلی ترنزیشن‌ها

ترنزیشن‌ها در CSS امکان تغییر تدریجی ویژگی‌های یک عنصر را فراهم می‌کنند. ویژگی‌های اصلی ترنزیشن‌ها عبارت‌اند از:

  • transition-property: مشخص می‌کند کدام ویژگی باید تغییر کند.
  • transition-duration: مدت زمان اجرای ترنزیشن را تعیین می‌کند.
  • transition-timing-function: نحوه تغییر مقدار ویژگی در طول زمان را مشخص می‌کند.
  • transition-delay: زمان تأخیر قبل از اجرای ترنزیشن را تنظیم می‌کند.

مثال:

div { transition: background-color 0.5s ease-in-out; } div:hover { background-color: lightblue; }

3. انیمیشن‌ها در CSS

در CSS می‌توان با استفاده از @keyframes و ویژگی animation، انیمیشن‌های پیچیده‌تری ایجاد کرد.

مثال:

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } div { animation: fadeIn 2s ease-in-out; }

4. استفاده از @keyframes برای ایجاد انیمیشن‌ها

قانون @keyframes به ما این امکان را می‌دهد که انیمیشن‌های سفارشی بسازیم. در مثال زیر، یک جعبه از چپ به راست حرکت می‌کند:

@keyframes moveRight { 0% { transform: translateX(0); } 100% { transform: translateX(200px); } } div { animation: moveRight 1s ease-in-out infinite alternate; }

5. ترکیب انیمیشن‌ها و ترنزیشن‌ها

گاهی اوقات می‌توان انیمیشن‌ها و ترنزیشن‌ها را ترکیب کرد تا جلوه‌های جذاب‌تری ایجاد شود.

مثال:

div { transition: transform 0.5s ease-in-out; } div:hover { transform: scale(1.2); }

6. مثال‌های عملی از انیمیشن‌ها و ترنزیشن‌ها

در این بخش چند مثال عملی ارائه می‌شود که می‌توان از آن‌ها در پروژه‌های واقعی استفاده کرد.

دکمه‌ای که هنگام هاور تغییر رنگ می‌دهد:

button { background-color: #008CBA; color: white; padding: 10px 20px; border: none; transition: background-color 0.3s ease; } button:hover { background-color: #005f73; }

7. بهینه‌سازی انیمیشن‌ها برای عملکرد بهتر

برای بهینه‌سازی انیمیشن‌ها در CSS، رعایت این نکات ضروری است:

  • استفاده از transform و opacity به‌جای تغییر مستقیم position یا width و height.
  • استفاده از will-change برای بهبود عملکرد رندرینگ.
  • اجتناب از انیمیشن‌های سنگین که باعث کندی سایت می‌شوند.

8. نتیجه‌گیری

انیمیشن‌ها و ترنزیشن‌ها در CSS ابزاری قدرتمند برای بهبود تجربه کاربری و افزایش تعامل کاربران هستند. با استفاده صحیح از این قابلیت‌ها می‌توان طراحی‌های زیباتر و حرفه‌ای‌تری ایجاد کرد.

قسمت بعدی